#include "stubs_asm.h"

//functions not found in the firmware
NHSTUB(EnterToCompensationEVF, 0xFFC152BC)	// "ExpOn"
NHSTUB(ExitFromCompensationEVF, 0xFFC15300)	// "ExpOff"
NSTUB(GetBatteryTemperature, 0xFFC394D8)	// Crashes camera, therefore disabled.
NHSTUB(GetCCDTemperature, 0xFFC39464)		// checked
NHSTUB(GetDrive_ClusterSize, 0xFFC45918)
NHSTUB(GetDrive_FreeClusters, 0xFFC45978)
NHSTUB(GetDrive_TotalClusters, 0xFFC45948)
NHSTUB(GetOpticalTemperature, 0xFFC39550)
NHSTUB(RefreshPhysicalScreen, 0xFFD9098C)
NHSTUB(ScreenUnLock, 0xFFD90B78)
NHSTUB(ScreenLock, 0xFFD9094C)
NHSTUB(TurnOffBackLight, 0xFFC71424)
NHSTUB(UIFS_WriteFirmInfoToFile, 0xFFD2B640)
NHSTUB(UpdateMBROnFlash, 0xFFC45758) // similar to sx200
NHSTUB(VbattGet, 0xFFC10314) // branched by eventproc_export_VbattGet
NHSTUB(free, 0xFFC0379C)
NHSTUB(kbd_p2_f, 0xFFC11308)
NHSTUB(kbd_pwr_off, 0xFFC36F60) // like in SX110 called by kbd_read_keys
NHSTUB(malloc, 0xFFC03740) // not sure - looks different from other cameras
NHSTUB(strchr, 0xFFC756F0)
NHSTUB(vsprintf, 0xFFC0CB00) //BL-ed by eventproc_export_CPrintf

// functions corrected (wrong in stubs_entry.S)
NHSTUB(AllocateUncacheableMemory, 0xFFC1706C)
NHSTUB(SetPropertyCase, 0xFFC60BE4)
NHSTUB(kbd_read_keys_r2, 0xFFC36858)
NHSTUB(qsort, 0xFFE4EF08)
NHSTUB(strrchr, 0xFFD90CCC)
NHSTUB(PB2Rec, 0xFFC678E0) //finsig override

//functions not found by finsig and not declared in signatures_dryos.h but needed by chdk
NHSTUB(apex2us, 0xFFD91AC4)
NHSTUB(DoAFLock, 0xFFC1516C) // search for "AFL" or "AFL*"
NHSTUB(ExpCtrlTool_StartContiAE, 0xFFC1FB10) // "StartContiAE"
NHSTUB(LEDDrive, 0xFFC36434)
NHSTUB(MakeAFScan, 0xFFD16FF4) // like in SX110IS
NHSTUB(PostLogicalEventForNotPowerType, 0xFFC63D5C) // "LogiEvnt_NotPowerType"
NHSTUB(PT_PlaySound, 0xFFC55FB8) // look quite different from other cams
NHSTUB(TurnOffMic, 0xFFC37A8C) // like in SX110IS
NHSTUB(TurnOnMic, 0xFFC37A60) // like in SX110IS
NHSTUB(UnlockAF, 0xFFC151A4) // "AFUL" or "AFUL*"
NHSTUB(UnsetZoomForMovie, 0xFFD3FD2C) // "ZoomCon_UnsetZoomForMovie"
NHSTUB(WriteSDCard, 0xFFCFFF68)
NHSTUB(SetScriptMode, 0xFFC63B40) //"SetScriptMode"

NHSTUB(UIFS_GetLastPath, 0xFFD15C48);

NHSTUB(GetImageFolder, 0xFFCEC100) // function before 'GetCameraObjectTmpPath ERROR' string

//`nullsubed', not available in DryOS
NHSTUB(Mount_FileSystem, 0xFFC00950)
NHSTUB(rewinddir, 0xFFC00950)
NHSTUB(SetZoomActuatorSpeedPercent, 0xFFC00950) 
NHSTUB(Unmount_FileSystem, 0xFFC00950)
